package config

type UserSrvConfig struct {
	Name string `mapstructure:"name" json:"name"`
}
type JWTConfig struct {
	SigningKey string `mapstructure:"key" json:"key"`
}

type ConsulConfig struct {
	Host string `mapstructure:"host" json:"host"`
	Port int    `mapstructure:"port" json:"port"`
}
type RedisConfig struct {
	Host   string `mapstructure:"host" json:"host"`
	Port   int    `mapstructure:"port" json:"port"`
	Expire int    `mapstructure:"expire" json:"expire"`
}
type ServerConfig struct {
	//Tags        []string      `mapstructure:"tags"`
	Host        string        `mapstructure:"host" json:"host"`
	Name        string        `mapstructure:"name" json:"name"`
	Port        int           `mapstructure:"port" json:"port"`
	UserSrvInfo UserSrvConfig `mapstructure:"user_srv" json:"user_srv"`
	JWTInfo     JWTConfig     `mapstructure:"jwt" json:"jwt"`
	RedisInfo   RedisConfig   `mapstructure:"redis" json:"redis"`
	ConsulInfo  ConsulConfig  `mapstructure:"consul" json:"consul"`
}

type NacosConfig struct {
	Host string `mapstructure:"host"`
	Port uint64 `mapstructure:"port"`
	NameSpace string `mapstructure:"namespace"`
	User string `mapstructure:"user"`
	PassWord string `mapstructure:"password"`
	DataId string `mapstructure:"dataId"`
	Group string `mapstructure:"group"`
}